package com.yangziqiang.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @ClassName SpringMvcConfig
 * @Description TODO 跨域配置（Nginx）
 * @Author 18516
 * @DATE 2022/1/14 19:33:30
 * @Version 1.0
 */
@Configuration
public class SpringMvcConfig implements WebMvcConfigurer {

    /**
     * @param registry:
     * @return {@link ：void}
     * @description 服务端配置 全局跨域配置，允许所有请求
     * @author Benjamin Yang @date 2022/1/17 16:22:06
     * @Throws
     */
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")  //  路径映射
                .allowedOrigins("*")        //  允许的来源   // http://localhost:8080
                .allowedHeaders("*")        //  允许的头信息 // get post请head信息，报文
                .allowedMethods("*")        //  允许的方法   // Get、Post、Put、Delete
                .allowCredentials(true)     //  是否允许认证信息 // 1小时内不再验证跨域了
                .maxAge(3600);              //  指定时间周期
    }

    /*
    拦截器配置 使用时创建该类添加@Component注解 与前无异
    @Autowired
    private LoginInterceptor myHandlerInterceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(loginInterceptor).addPathPatterns("/**")
                .excludePathPatterns("/user/toLogin")
                .excludePathPatterns("/pic/");
    }
    */

}
